package com.yt.xiao.code.generate.processor;

import java.sql.SQLException;
import java.util.List;

import com.yt.xiao.code.generate.dal.po.JdbcInfo;
import com.yt.xiao.code.generate.dal.po.Table;

public interface DBProcessor {

    //public void setDriverClass(String driverClass);
    /**
     * 设置jdbc url
     * @param jdbcUrl
     */
    public void setJdbcUrl(String jdbcUrl) ;

    /**
     * 设置用户名
     * @param user
     */
    public void setUser(String user);

    /**
     * 设置密码
     * @param password
     */
    public void setPassword(String password);

    /**
     * 设置表名称前缀
     * @param tablePrefix
     */
    public void setTablePrefix(String tablePrefix);

    /**
     * 设置表名称列表
     * @param tlist
     */
    public void setTableNameList(List<String> tlist);

    /**
     * 设置 表名称列表 用途
     * @param flag true 查询结果包括指定表明称的数据
     * @param flag false 查询结果排除指定表明称的数据
     */
    public void setTableNameSwitch(boolean flag);

    /**
     * 获取jdbc信息
     * @return
     */
    public JdbcInfo getJdbcInfo();

    public List<Table> loadTableList() throws ClassNotFoundException, SQLException;
}
